User interface for television schedule system

ABSTRACT

Screen (10) for a user interface of a television schedule system and process consists of an array (24) of irregular cells (26), which vary in length, corresponding to different television program lengths of one half hour to one-and-one half hours or more. The array is arranged as three columns (28) of one-half hour in duration, and twelve rows (30) of program listings. Some of the program listings overlap two or more of the columns (28) because of their length. Because of the widely varying length of the cells (26), if a conventional cursor used to select a cell location were to simply step from one cell to another, the result would be abrupt changes in the screen (10) as the cursor moved from a cell (26) of several hours length to an adjacent cell in the same row. An effective way of taming the motion is to assume that behind every array (24) is an underlying array of regular cells. By restricting cursor movements to the regular cells, abrupt screen changes will be avoided. With the cursor (32 ), the entire cell (26) is 3-D highlighted, using a conventional offset shadow (34). The offset shadow (34) is a black bar that underlines the entire cell and wraps around the right edge of the cell. To tag the underlying position--which defines where the cursor (32) is and thus, where it will move next--portions (36) of the black bar outside the current underlying position are segmented, while the current position is painted solid.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a division of U.S. application Ser. No. 08/198,538,filed Feb. 18, 1994, which is a continuation of U.S. application Ser.No. 07/579,555, filed Sep. 10, 1990 now abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to a system and process thatallows a television viewer to access on screen television programlistings and use the program listings in an easy and convenient way tocontrol operation of a video cassette recorder (VCR) or other recordingdevice. In addition, it relates to such a system and process thatcreates a directory of recorded programs by title for easy retrieval andprogram playback. More particularly, it relates to such a system andprocess in which the VCR or other recording device is controlled by asimple selection of program title and a record command, even forrecording at a future date and time. Most especially, it relates to sucha system and process incorporating an intuitive user interface.

2. Description of the Prior Art

The difficulty of setting a VCR for automatic recording at a future dateis notorious. Even users who are technically sophisticated will oftenmake mistakes in the VCR programming procedure that cause them to recordthe wrong program or not to record anything at all. This difficulty haseven resulted in a substantial body of humor dedicated to the subject ofprogramming VCRs.

The difficulty of VCR programming has been alleviated somewhat by thedevelopment of VCRs that use a television set as a display for userprompts and feedback to the user during the programming process. U.S.Pat. No. 4,908,713, issued Mar. 13, 1990 to Michael R. Levine, disclosessuch a VCR using the television set as a display for VCR programmingwith an interactive user interface for directing the user on astep-by-step basis. Such a user interface removes a great deal of themystery from VCR programming, but users still have difficulty with sucha command-based interface and encounter problems carrying out theprogramming without making mistakes that cause them to miss recordingprograms they would like to watch at a different time than when they arebroadcast.

Commonly assigned U.S. Pat. No. 4,706,121, issued Nov. 10, 1987 toPatrick Young, discloses a system and process in which user selectionsfrom television schedule information are used for automatic control of aVCR. That patent also contains a description of a proposed userinterface for such a system and process. However, the provision of ahighly intuitive user interface that makes such a system and processeasy and convenient to operate is a difficult task. Further developmentof this system and process has produced considerable change in the userinterface as originally proposed.

In addition to simplifying VCR programming, users who do a substantialamount of program taping also need an improved system and process forkeeping track of their recorded programs. Commonly assigned applicationSer. No. 07/219,971, filed Jul. 15, 1988, in the name of Patrick Young,discloses a system and process that provides indexing capability fortaped material. A user interface for a television schedule system andprocess should also handle this capability on an intuitive basis.

Thus, while the art pertaining to the control of VCRs and to televisionschedule systems is a well-developed one, a need still remains for atelevision schedule system and process incorporating an improved userinterface. In particular, unlike most computer menus, a grid TV guide isan array of irregular cells, where the cell size can vary from afraction of an hour to many hours-extending well beyond the currentscreen. If this array is navigated by a cursor that goes from cell tocell, a single cursor command can produce violent screen changes. Forexample, a cursor right command may cause an abrupt jump to a cellsituated several hours from the current page. Not only is thisunsettling, but may take considerable effort to recover. Clearly, agentler cursor motion is needed for the irregular cells found in a gridTV guide.

Printed grid television schedule guides often include additionalinformation besides the program title and broadcast names. Such gridsare also typically provided in combination with a more detailed printedschedule that contains a synopsis of each program, whether the programis a repeat, ratings for movies, and other information. When using atelevision set as a display for a schedule system, the size andresolution of the television display limit the amount of text that canbe displayed with the grid. Improved techniques are required forconveying the most amount of information to the user in an easilyunderstood manner within the limitations of the television display. Whena large number of channels are available for viewing, there is also aneed to order the display of information most conveniently for the user.

SUMMARY OF THE INVENTION

Accordingly, it is an object of this invention to provide a televisionschedule system and process with a user interface that is configured tocompensate for the particular nature of the television scheduleinformation.

It is a further object of the invention to provide such a user interfacehaving a cursor operation that compensates for an irregular grid formatof the television schedule information.

It is another object of the invention to provide such a user interfacein which the schedule information is presented in a format thatcompensates for limited resolution of the television display.

It is still another object of the invention to provide such a userinterface in which supplemental schedule information is presented inoverlays that obscure a minimum amount of useful other information.

It is a still further object of the invention to provide such a userinterface in which order of presentation of the schedule information iscustomizable by user preference.

The attainment of these and related objects may be achieved through useof the novel television schedule system and process user interfaceherein disclosed. A television schedule system including a userinterface in accordance with this invention has a display, A means isconnected to the display for displaying the television schedule on thedisplay as an array of irregular cells which vary dimensionally inlength, corresponding to different television program time lengths. Ameans is connected to the display for providing a cursor with thetelevision schedule on the display. The cursor has a variable lengthcorresponding to the length of a selected one of the irregular cells inwhich the cursor is located. A means is connected to the means forproviding the cursor for moving the cursor in the array in a series ofequal length steps. At least some of the irregular cells have a lengthwhich is greater than the length of the steps.

In the process of operating a television schedule system with the userinterface of this invention, the television schedule is displayed as anarray of irregular cells which vary dimensionally in length,corresponding to different television program time lengths. A cursor isprovided with the television schedule on the display, the cursor has avariable length corresponding to the length of a selected one of theirregular cells in which the cursor is located. The cursor is moved inthe array in a series of equal length steps, with at least some of theirregular cells having a length which is greater than the length of thesteps.

In another aspect of the invention, a control system for a videorecording machine has a controller for starting and stopping the videorecording machine, for recording video information on recording media,and for playing recorded video information on recording media. A displaygenerator provides display image generation signals. A means suppliesinformation to the display generator for generation of display imagesrelating to operation of the video recording machine. The means forsupplying information includes means for generating a recording mediaposition indicator graduated as segments corresponding to programsrecorded on the recording media.

In a process for controlling a video recording machine, a recordingmedia position indicator is graduated as segments corresponding toprograms recorded on the recording media. The recording media positionindicator is displayed as position of a selected one of the recordingmedia in the video recording machine is changed.

In a further aspect of the invention, a television schedule system adisplay and means connected to the display for displaying the televisionschedule on the display. The means for displaying a schedule isconfigured to allow selection by a user of a first number of desiredchannels for display of schedule information which is less than a secondnumber of available channels. A programmable tuner is connected to themeans for displaying a schedule. The programmable tuner is configured tofollow the first number of desired channels when the television scheduleis shown on the display in response to a channel up or channel downcommand. The programmable tuner is configured to follow the secondnumber of available channels in the absence of the television scheduleon the display in response to a channel up or channel down command.

In a process for operating a television schedule system, a first numberof desired channels is selected for display of schedule information,which is less than a second number of available channels. The scheduleinformation is displayed on a display. The first number of desiredchannels is followed when the schedule information is shown on thedisplay in response to a channel up or channel down command. The secondnumber of available channels is followed in the absence of thetelevision schedule on the display in response to a channel up orchannel down command.

The attainment of the foregoing and related objects, advantages andfeatures of the invention should be more readily apparent to thoseskilled in the art, after review of the following more detaileddescription of the invention, taken together with the drawings, inwhich:

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1-3 are diagrammatic representations of a television schedule gridincorporating the user interface for the system and process of thisinvention.

FIG. 4 is a diagrammatic representation of a screen display used in thesystem and process of the invention.

FIGS. 5-7 are additional diagrammatic representations of the televisionschedule grid incorporating the user interface for the system andprocess of the invention.

FIG. 8 is a flow chart for understanding the operation of the FIG. 7diagram.

FIGS. 9-10 are additional diagrammatic representations of screendisplays of the user interface for the system and process of theinvention.

FIG. 11 is a flow chart for understanding the operation of the FIGS.9-10 diagrams.

FIGS. 12-13 are diagrammatic representations of taping and tape indexscreen displays of the user interface for the system and process of theinvention.

FIG. 14-17 are diagrammatic representations of program selection bycategory screen displays of the user interface for the system andprocess of the invention.

FIG. 18 is a flow chart for understanding operation of the FIGS. 14-18diagrams.

FIG. 19 is a flow chart for understanding operation of the FIG. 20diagram.

FIG. 20 is a diagrammatic representation of a channel customizationscreen display of the user interface for the system and process of theinvention.

FIG. 21 is a diagrammatic plan view of a control panel for the system ofthe invention.

FIG. 22 is a block diagram of a television schedule system in accordancewith the invention.

FIG. 23 is a diagramatic representation of a screen showing the use ofprogram linking in recording for the system and process of theinvention.

DETAILED DESCRIPTION OF THE INVENTION

Turning now to the drawings, more particularly to FIGS. 1-7, there areshown a series of menu screens 10, 12, 14, 16, 18, 20 and 22 used inoperation of the system and carrying out the process of the invention.Screens 10, 12, 14, 18 and 20 each consists of an array 24 of irregularcells 26, which vary in length, corresponding to different televisionprogram lengths of one half hour to one-and-one half hours or more. Thearray is arranged as three columns 28 of one-half hour in duration, andtwelve rows 30 of program listings. Some of the program listings overlaptwo or more of the columns 28 because of their length. Because of thewidely varying length of the cells 26, if a conventional cursor used toselect a cell location were to simply step from one cell to another, theresult would be abrupt changes in the screens 10, 12, 14, 18 and 20 asthe cursor moved from a cell 26 of several hours length to an adjacentcell in the same row. Such abrupt changes disorient a user of thesystem.

An effective way of taming the motion is to assume that behind everyarray 24 is an underlying array of regular cells. By restricting cursormovements to the regular cells, abrupt screen changes will be avoided.However, there is now a potential ambiguity between the underlying cellwhich governs cursor movement and a visible cell 26 which holds theprogram title.

Viz.: if the cursor moves in half hour steps, and the cell length is,say four hours, should the cursor be 1/2 hour long or four hours long?If the cursor only spans the interval of the underlying cell (1/2 hour),the cursor appears to be highlighting a segment of the cell, which ismisleading. On the other hand, if the cursor spans the entire four hoursof the TV listing, the cursor underlying position will be obscure. Inthis case, cursor right/left commands will appear inoperative whiletraversing a long cell. The absence of feedback following a cursorcommand is befuddling to users. Therefore, an innovative cursor 32(FIG. 1) for the irregular array 24 is required which satisfies severalconflicting requirements.

With the cursor 32, the entire cell 26 is 3-D highlighted, using aconventional offset shadow 34. The offset shadow 34 is a black bar thatunderlines the entire cell and wraps around the right edge of the cell.To tag the underlying position--which defines where the cursor 32 is andthus, where it will move next--portions 36 of the black bar outside thecurrent underlying position are segmented, while the current position ispainted solid.

For an half hour cell 26, the offset shadow's underline bar will alwaysbe solid black. FIGS. 2 and 3 show the cursor 32 as it appears for ahalf-hour program. For programs that go beyond 1/2 hour, only thecurrent 1/2 hour position will be solid black. All remaining positionswill be stripped. If the cursor is moved left or right, the solidsection will move accordingly, providing complete visual feedback. Thus,this modified 3D offset shadow cursor 32 satisfies the demands statedabove: it spans the entire cell, yet clearly highlights the currentunderlying position. Movement of the cursor 32 will always be visibleeven for cells 26 that are much longer than the underlying cell.

A grid continuity icon 38 is shown in FIG. 1. Printed grid televisionschedule guides often include parenthetical comments, (such as "cont'd")to indicate program continuity. In an electronic guide displayed on a TVscreen, limited text space precludes parenthetical comments. To conservespace, an icon 38 will be used to indicate cell 26 continuity. At theborder of a cell 26 that is continued to the next screen, an arrow icon38 pointing to the right will be overlaid. The arrow direction alwayspoints to right, which is the direction of program elapse.

FIGS. 2 and 3 show recording status representations. When a program hasbeen selected for recording, its listing cell 26 will be outlined orhighlighted in red, as indicated at 40. If guard time has been added ordeleted, the cell will be stretched or shrunk to reflect the change.Cell 26 continuity will be treated the same as above. There are fourother record status representations:

If the cell is actively being recorded, the outline 40 will blink offand on.

A recorded cell will be displayed with a solid red background 42 (Note:Not shown in drawing).

A mis-recorded cell will be indicated by red hash

marks 44 over the title. A mis-recording can be the result ofinsufficient tape, VCR loss of power, stopped before completion, etc.

A program linking icon 46 is shown in FIG. 5.

After each schedule update, the schedule system examines the newlistings for the occurrence of any titles that match a title in LinkedTitles (FIG. 23). If a title matches, it will automatically be taggedfor recording. When a linked program is displayed in the guide, it willhave two identifiers: a red outline 40 indicating that the title hasbeen selected for recording, and a link icon 46 appended to the title toindicate that this title was link-selected. After a linked program hasbeen recorded, it will be treated like any recorded program with thetitle shaded in red. To differentiate this recording from others, thelink icon will remain appended to the title.

Further details on the linking feature are given in screen 19 of FIG.23. 1) A linked program 47 may be suspended by the user (perhaps toavoid conflict with a pending recording), by de-selecting the link titlein the Link List screen, under the Record Memo command. A suspended linkprogram will still be identified by a link icon, but the red-outlinewill be suppressed since the program will not be recorded. 2) A smartlink process is used to tame the matching of titles when there is alikelihood of excessive candidates for recording. The Lucy show, forexample, is often syndicated on several channels. Untamed linking ofLucy may result in a plethora of recordings. For such series, the linklist will include the channel and time as well as the link title. Forthe avid Lucy-phile, the user can locate each series individually forlinking. If there is more than one link title of the same name, theseries will be numbered, in the order of acquisition. Thus, the secondLucy will be identified as Lucy (Two), at 47.

FIGS. 1-3 show the columns 28 headed by half-hour header statusindicators. The 1/2 hour header strip across the top of the grid TVguide has two auxiliary functions: 1) as an indicator 48 of pending orin-progress recording scheduled at that time, and 2) as a time-bar 50 todelineate the past from the future. The past is darkened, while thefuture is lightly shaded. If there is an in-progress recording, the 1/2hour header will be red-outlined at 48 in the same manner as a pendingrecording title cell 26.

FIG. 6 shows a television schedule grid screen 20 with a program noteoverlay 52. With limited text capacity on TV displays, it is preferableto display as many lines of TV listings as feasible. To handle programnotes, which are text intensive, on-demand overlays 52 are used. Programnote overlays 52 may include any or all of the following information:

A program genre

Program description

Stars and personalities

Year of release

Episodic subtitles

Run-time of program

Elapse time of the program

Critique (Star Ratings)

Rating (PG, G, etc.)

Call letter, channel markers

Closed caption, stereo.

Program notes for a selected program are overlaid over the grid guideupon request. The program note can be toggled off/on using a SELECTcommand. The program note 52 overlays and hides 3 or 4 listings of aguide. To minimize concealment of the guide, an auto-roving note isused. The program note will overlay either the top half or bottom halfof the screen, as necessary to avoid masking the title of the selectedlisting. If the cursor 32 is in the upper half of the screen, the notewill appear in the bottom half, and vice versa. If the cursor 32 ismoved to the lower half of the screen, the note will automaticallyposition itself in the upper half of the screen.

FIGS. 1-3 and 5-6 show a channel column 54 in the television schedulegrid 24. Favorite stations and cable channels may be listed together tocreate a personalized grid guide. The channel column 54, unlike mostprinted TV guides, has a mix of over-the-air station names and cableservices names.

The grid 24 guide lists channels by favorite combinations of stationnumber and cable names, and not in the usual numerical order. Whenviewing the grid 24 guide, a Tuner Up/Down channel command will bemapped according to the channels and order listed on the screen. Whennot viewing the guide, the tuner sequence will revert back to the usualnumerical order. When the last channel on a page is reached, the nextTuner command will change the channel to the channel listed at thebeginning of the following page.

When a channel to which the tuner is tuned is displayed on the grid 24,it is highlighted, as shown at 56. A grid 24 page may be changed byeither a page command or by entering a channel Up/Dn command asdescribed above. If a page is turned using the page command, the currentchannel is now located in the previous page, and will not be seen in thenew page. Therefore, the new page must suppress the highlighting of achannel, since that indicates the current channel. Note that informationabout the current channel will still be presented in the channelinformation boxes 58 at the bottom of the screen.

When is the highlighting re-enabled? Once into the new page, the firstchannel up/down command will cause the tuner to automatically change tothe channel listed in the last or first row 30 respectively of the newpage. Since the tuner channel is now located on the new page, thecurrent channel will be highlighted again.

If the channel highlighting is not suppressed after a page is selected,by definition, the tuner must be changed to track the highlightedchannel. This is undesirable since casual paging should not cause thechannel to change.

When a guide is first opened, as shown in FIG. 2, both the cursor 32 andthe current channel 56 are situated on the same row 30 of the grid 24.When the channel 56 is changed, it is desirable to drag the cursor 32along with the channel in unison. In doing so, the cursor 32 will beready for a Select command (to retrieve the program note) or for aRecord It command. Cursor dragging by the channel command takes placewhenever the channel 56 and cursor 32 are united on the same row. Ifthey are not united, the cursor 32 is disengaged from the channelcommand. Note that dragging is not reciprocal; moving the cursor 32 doesnot affect channel selection.

FIG. 7 shows a screen 22, showing a program list 58 for a singlechannel, generated by toggling a user What's On TV command, whichswitches between the grid 24 and the list 58. The list 58 consists ofrows 60 of sequential program listings on the channel and a channelinformation field 62. Program notes are overlaid on the list 58 in thesame manner as shown in FIG. 6 for the grid 24.

Each What's On TV command alternates between the grid guide 24 and theWhat's Next on Channel row guide 58. While viewing the grid guide 24,the next What's On TV command will replace the grid guide 24 with asingle-channel row guide 58. FIG. 8 is the flow diagram for the What'sOn TV command.

The page relationship between the two guides 24 and 58 are tightlycoupled. The single channel guide will open to the channel and scheduletime that was selected by the cursor 32 on the grid 24. While viewingthe single channel guide 58, the Up/Down channel command may be used tochange the channel to be listed. When exiting the single channel guide58 and returning to the grid guide 24, the grid cursor 32 will bepointed to the channel and schedule time last selected on the singlechannel guide 58.

FIGS. 9 and 10 show channel grazing overlays 64 and 66 that provideinformation on current programs when switching channels while watchingtelevision. In the overlay 64, when scanning channels, the title of eachprogram is overlaid at 68, along with the name of the TV service (HBO,ABC etc. ), the cable channel number, and the current date, day of week,and time in the channel information field 62. The overlay 66 is the sameas the overlay 64 except that this overlay includes a program note 70,which is similar to the program note 52 in FIG. 6, but containsinformation pertinent to a program currently being broadcast on theselected channel. To access program notes, press the Select key. Inaddition to the program note 70, elapsed time is indicated by apercentage calibrated time bar 72. The bar is bracketed by S for start,and F for finish. By default, titles will appear automatically whenchannels are scanned. Grazing Titles may be de-activated using theCANCEL key. To restore auto-titles, press Select while viewing TV. Theflow diagram governing titles/program notes, while viewing TV, is shownin FIG. 11.

An express recording screen 74 is shown in FIG. 12. The expressrecording screen includes the following information:

Title of Program

Length of Program

Tape Time Remaining

Recording Speed.

FIG. 13 shows a tape index screen 76. Locating a recorded segment isoften an arduous task when several programs have been recorded on thetape. Without a table of contents, the VCR users muddle throughstretches of recording trying to find what's recorded on the tape, wherethe beginning of the desired program is, and where the tape is now. Somepremium VCRs provide tape indexing that automatically finds the start ofeach recording. However, while the viewer can find the start of arecording, the indexing VCRs do not record titles. The net result isabout as useful as a having a table of contents without chapter titles.Considerable searching is still required to find what is recorded ateach index.

The tape index screen 76 provides a virtual tape directory, giving theequivalent function of a table of contents for a tape recording. Thereis a list 78 of titles of recorded programs, a pointer 80 to the startof the program, and a current position indicator cursor 82 showing the"chapter" location on the tape. The virtual directory is automaticallycompiled, revised and stored in off-tape memory as the user records overthe tape.

The What's on Tape command will display a list of titles of programsrecorded on the tape. The title of the selected program (the segment oftape that is positioned over tape head) is highlighted by the cursor 82.The tape position pointer 80 dynamically tracks the current tapeposition. All searching is done simply by title, bypassing the need forindex numbers. The tape directory is equivalent to a table of contentsshowing titles, but not page number. It automatically opens to thestarting page by simply pointing to the title of the program. Inaddition to the tape directory 78 of recorded programs, the screen 76includes a program duration field 84, a recorded speed of each titlefield 86, a remaining time left on tape field 88, a remaining time lefton program field 90 and a next scheduled recording time field 92.

The virtual tape directory is generated as follows. It is difficult toimplement a competent self-contained tape directory for a non-randomaccess storage such as a video tape. No matter where the directory isstored on the tape, the latent access time to locate the directory andreturn to current position (for a standard six hour tape) isexcruciating slow, in the order of 6 to 10 minutes.

If redundant directories are recorded uniformly across the tape tominimize latency time, the problem of sluggishness is merely shiftedfrom playback to updating the multiple directories. After each videoprogram is recorded, the entire tape must be scanned to update eachdirectory. Even if this update process is automated, there is a questionof excessive wear on tapes and the VCR itself. Viz: each recording, nomatter how short, results in high-speed scanning of the entire tape inorder to revise all directories.

Even more troubling is the question of when to perform the update, sincethere is no "safe" period for the VCR to take control. For example, theuser may have stopped the tape momentarily, perhaps to skip commercials,only to find that the VCR has commandeered control and place the tape ina high speed update mode. The safest update is one that isuser-initiated. Unfortunately, few VCR users will follow a regimentedprocedure of updating after each recording session. Clearly, an on-tapedirectory based on existing technology is not satisfactory.

The following innovative solution, the "virtual tape directory", storesdirectory information in off-tape memory and does not require an on-tapedirectory or any augmentation of the video cassette. Since the directoryis held in external memory instead of the tape, it is best suited fortapes that have recently been played and recorded, the "working tapes".

When a program is recorded, the title of the program is written to thedata (control track) channel of the tape and, at the same time stored ina non-volatile (NV) memory. Other information about the recordedprogram, such as length of program, theme category, date recorded, andtape identifier code may be written to the data channel, as well asstored in the NV memory. The NV memory is adequate to support a numberof working tapes.

When a tape is first loaded, the tape data channel will be scanned for afew seconds to identify the recorded program under the tape head. Thisdata will be matched against the directories stored in NVmemory. Ifthere is a match, the directory of the working tape will be displayedimmediately when the What's On Tape key is pressed. The "virtual" tapedirectory appears to have been read from the tape, but is actuallyobtained from NVmemory.

If there is no match, a new directory for the tape will be created.During playback and recording of this tape, a virtual directory will begenerated for that tape. Directories of inactive tapes will beautomatically purged from memory as new working tapes are introduced.

It is relatively easy to estimate remaining time of a scheduledtelevised program with the assist of a clock and a TV schedule. Incontrast, there are few clues as to current location during playback ofa recorded program, particularly when there are several recordedsegments on a tape. Tape index counters or running-time clocks requirediligent bookkeeping before the start of a recorded segment. Fewconsumers will tinker with 5 or 6 digit numbers when a "ballpark"indicator is adequate, such as, "is the program about over?", or "aboutwhen does the next segment starts?". Clearly, there is need to provide alocation indicator without the burden of bookkeeping.

To provide an at-a-glance indicator of relative tape location, anon-screen tape position gauge 94 has been devised. The tape positiongauge 94 consists of a vertical bar 96 with the arrow pointer 80 locatedon the left edge of the screen 76. The arrow 80 dynamically tracks thecurrent tape position as the tape is advanced or rewound.

The gauge 94 is graduated, not in linear units, but in units of recordedsegments 98 with each segment labelled with its program title. Thus, a10 minute program or a 6 hour program is represented as one verticalunit corresponding to the width of a segment 98. However, the gauge 94is linear within each segment 98. If the arrow is pointing at the upper25% of the program segment 98, it indicates that the tape head ispositioned over the first 25% of the program. If a conventional lineargauge were displayed, a far more complicated gauge would be required,that would likely confuse rather than clarify.

Thus, this tape gauge 94 provides a quick capsule indication of thewhere the tape head is currently positioned, relative to the currentprogram, and relative to other programs or the tape, and the title ofother programs.

The tape index screen 76 includes a tape motion indicator field 100.When the tape is undergoing high speed repositioning, the What's On ThisTape (WOT) screen 76 will be displayed. During high speed search of along program, the tape gauge 94 will appear to be dormant, since thegauge is relatively coarse for programs of long duration. To supplementthe tape gauge 94, the tape indicator 100 is included. During high speedpositioning, one of these messages will be displayed in the space abovetwin-hub tape icon 102: GO PLAY, GO RECORD, FORWARDING, REVERSING,PAUSE, and STOP.

GO PLAY is displayed while the tape is repositioning to the selectedtitle. When the title is reached, the WOT screen 76 will be displaced bythe playback video. GORECORD is displayed while the tape is positioningto the selected program segment 98, where the new recording will bewritten.

FIGS. 14-17 show Theme function screens 104. The Theme function allowsthe viewer to quickly sort the downloaded schedule and display a subsetschedule based on a subject of interest. The user has the freedom toselect listings sorted first by major themes, second by topic(s) withina theme, and/or by topic qualifiers. All guides sorted by theme, topicand qualifier will be displayed in a row-tabulated format and begins bylisting programs nearest to the current half-hour. The theme functionscreens 104 have the following attributes: Rotating Themes. There arefour theme categories, with each theme title enclosed inhorizontally-arranged selection boxes 106. From left to right, thethemes are: [Movies] [Sports] [Specials] [TV Fare] FIG. 18 is a flowdiagram defining the Theme command.

Topic Selection. There are up to 16 topics 108 for each theme arrangedin an 8 row by two column field 110. Any number of topics may beselected under a selected theme. Topics is a logical OR function,meaning that each listing that meets the definition of the topic will bedisplayed. For example under the theme of Movies, if the topic titlesComedy and Satire are selected, a subset schedule of both comedy moviesand satire movies will be displayed.

Default All Selection. When the Theme screen 104 is first opened, thefirst slot (upper left most topic 108) will be highlighted. This is theALL function, which is the sum of all topics 108 for the selected theme.The ALL function was created to minimize key stroking. Without an alltopic category, the user must enable all 16 topics 108 individually.Conversely, if the user wishes to go from an all topics to an individualtopic, the user must cursor to and deselect each of the other 15 topics.

Qualifiers. Each theme includes a group of search attributes orqualifiers 112. The qualifiers for each theme 106 are shown in therespective one of FIGS. 14-17 for each theme 106. Any number ofqualifiers can be enabled at one time. These qualifiers perform alogical OR functions; they will select for display all listings (sortedfirst by theme and topic) that satisfy the qualifiers.

The qualifiers 112 are positioned for easy selection. The selection ofqualifiers is made using the usual cursor commands. When a theme 106 isinitially opened, by default, the cursor is located near the top of thescreen. To minimize cursor commands, the qualifiers are also locatednear the top of the screen. In contrast, placing the qualifiers at thebottom of the screen would require a round trip of up to 16 key strokes.

The complete theme sorting strategy is defined as follows:

    Listings=(Topic A+Topic B+etc.)*(Qualifier A+Qualifier b+etc.)

This may be read as listing all Topic A that also meets Qualifier A orQualifier B, plus all Topic B that also meets Qualifier A or QualifierB, etc.

Qualifiers, topics and themes are rooted in relational databaseoperations and allow logical sorting of the schedule. To support thesehigher order of sorting, auxiliary data must be delivered to the VCR. Incontrast, simple sorting operations, such as sorting by time and bychannel are inherent in the fundamental information of a TV guide, anddo not require auxiliary search data.

The keystroke sequence for using the themes screens 104 are as follows.While watching TV, the first Theme key command will summon the openingtheme screen with the left most theme, Movies, highlighted. Furthertheme commands will rotate the theme selection from left to right. Eachtheme screen will be initialized to the all (topics) selection. If notopic selection is made, an all topics guide for the selected theme willbe displayed upon depressing the Select/Goto command.

To additionally sort the theme by a single topic, position the cursorkey to the desired topic and depress the Select/Goto key. Use the cursorto return to a topic.

To sort by more than one topic, position the cursor over each desiredtopic and depress the Select key. When finished, press Select/Goto todisplay a multiple-topic guide.

To sort by one or more attributes, position the cursor over each desiredattribute and press the Select key. When finished, move the cursor to atopic and press Select/Goto to retrieve the theme/attribute-sorted TVguide.

Other than express recording, all recording activities are controlledwith the Record Memo screen 16 of FIG. 4. The Record Memo screen 16 isaccessed with a Record Memo key. When the Record Menu key is depressed,the following titles enclosed in horizontally-arranged selection boxes114 will appear at the top of the opening screen. From left to right:[Pending [Recorded [Linked [On-Grid Recordings] Programs] Titles] Prog.]Each Record Memo key command will highlight a new selection, rotatingfrom left to right, and wrapping around to Pending Recordings after theright most position. FIG. 19 is a flow diagram defining the Record Memocommand.

FIG. 20 shows a Channel Customization screen 116. The screen 116 allowsthe user to customize channels to match viewing interest, providing acompact listing as well as eliminating undesired channels during up downscanning. During schedule update, a list of all cable channels availableat the subscriber's cable system (or broadcast stations for over-the-airsubscribers) is also delivered to the VCR. This unabridged set ofchannels may be customized using screen 116.

The channel customization screen 116 has two fields, a 3 column field118 listing up to 36 unabridged channels and a single column field 120listing 12 favorite MY channels. The latter is a replica of the channeldescriptor column 122 (FIG. 1) of the opening grid guide. Additionalpages are available (using the page key to swap between the pages) toaccommodate systems with more than 36 channels. Each cell 124 in the 3column field 118 contains the following information: Channel number andprogram service name (such as HBO or station KTVU, 2). The cell 124 iscolor-coded to indicate the following states:

ON, default state before any customization, with the cell 124 in lightgreen background.

MY, favorite channels listed in the single column field 120, also shownin the three column field 118 with a blue background.

OFF, a channel deleted from all guides, as well as during Channel Up/Dnscanning (still accessible using the ten key channel keypad). OFF cellshave a gray background.

When first installed, the system assigns the first 12 (listed innumerical order) channels as MY favorites. The channel status may bechanged by selecting a channel and picking a state, MY, ON, or OFF usingthe SELECT key.

Since only 12 favorites are allowed, the user must first remove afavorite channel by changing the status of an existing favorite channelto OFF or ON. When that is done, the first column will automaticallyopen up a space for the next MY selection. When a new MY is selected,the MY column 120 will automatically insert the new selection in theprescribed order. The order of listing in the MY favorite channel column120 is as follows:

All favorite broadcast stations will be listed first in numerical order.Next, all cable services will be listed in alphabetical order.

A new cable service, which displaces a previous service, will beinserted under the previous status. Example: If the channel was MY, thenew service will be MY. However, a new cable service that appears on anew channel will be initialized ON.

FIG. 21 shows a front panel 130 for a remote controller of the schedulesystem. The top half of the front panel 130 corresponds to aconventional remote controller for a television set and a VCR. Includedare a dual function ten key keypad 132, with the alternate functions ofeach key and its digit shown, a TV/VCR toggle key 134, volume andchannel up/down keys 136, and VCR control keys 138. The lower half ofthe front panel 130 contains control keys that are specific to theschedule system. Included are a What's On Tape key 140, a What's On TVkey 142, a Theme key 144, a Record Memo key 146, a Record It key 148, aLink It key 150, a Help/Menu key 152, a Select/Goto key 154, Left,Right, Up, Down and Page Cursor keys 156, a Return TV/VCR key 158 and aCancel/Undo key 160. The use of these keys has either been explainedabove or is apparent from their labels.

FIGS. 22A and 22B are block diagrams of television schedule systems/tapecontrollers 180 and 182 in which the user interface is used. Theschedule system/controller 180 is applicable to existing televisionequipment, where the schedule system is separate from the basictelevision equipment. Programmable tuner 202 is shown as part of a cabledecoder. The schedule system/controller 182 is shown as integrated intoa VCR 211. In this version, a cable decoder is not required, and tuner207 is part of the VCR 211. It should be clear from these two systems180 and 182 that the schedule/tape controller may be integrated intoother television equipment, such as a cable decoder or a TV/Monitorreceiver. It is also practical to implement the entire schedule/tapecontroller in a remote controller by adding a text display, such as anLCD screen, on remote controller 212.

In the system 180, programmable tuner 202, which may be part of a cabledecoder unit, receives a TV signal from antenna 200 and/or from cableinput 205. Tuner output 216 goes to a vertical blanking interval (VBI)decoder 222, which may be a closed caption decoder or a high speedteletext decoder. Listing information and other support information,such as cable channel assignment data, will be transmitted over the VBIby one or more local stations or cable channels several times a day orcontinuously.

When update is required, programmable tuner 202 will be tunedautomatically to the station or cable channel carrying the data. Afterthe VBI signal is processed by CPU 228, the listing data is stored inschedule memory 232, while the cable channel assignment data is storedin cable-specific RAM memory 238. This data is used to convert genericTV source names, such as HBO, to channel assignments for the specificcable system.

Other information transmitted to the schedule/tape controller 180 andstored in the system RAM memory 240 includes clock update data to setsystem clock 230 automatically, schedule update time, which may varyfrom once a day to a continuously transmitted format, new themecategories, and last minute schedule change data.

For a What's on TV request, the listing stored in schedule memory 232 isretrieved, processed by CPU 228, and outputted to video displaygenerator 224. Video switcher 226 is enabled by CPU output 246 to selectthe video display generator 224 output whenever schedule data is to bepresented to the TV/monitor 210.

When a request to time-shift record a program is made, the title of theprogram and its record parameters (channel, start time and length) iscopied from the schedule memory 232 to the Record Memo RAM memory 236.When the system clock 230 matches the schedule time, the CPU 228 willissue a channel command to the programmable tuner of the cable decoder202, and a power on and record command to VCR 206 by means of aninfrared remote driver 214 directed at infrared input ports of these twodevices. In the VCR integrated version 182, the command to the tuner 207is made on a wired bus 264.

In addition to programming by selecting a title from the on-screenschedule, it is also possible to program the VCR 206 or 211 and thecable decoder 202 or 207 with remote controller 212. In this mode,programming information is entered into the remote controller 212, andat the required time, the remote controller 212 will issue programmingcommands to the proper TV device. While there are many universal remotecontrollers that offer programming capability, none allow the user toenter generic names, such as station and cable channel names, and havethe CPU convert the names to specific channels for tuning the VCR or thecable decoder. This is implemented by incorporating CPU 228 and thecable-specific RAM 238 in the remote controller 212.

Remote controller 212 and infrared remote driver 214 are capable ofemulating the infrared command instructions required by the cabledecoder 202 and VCR 206. The command emulation codes for the remotedriver 214 are stored in cable decoder IFR code RAM/ROM memory 239.Commands for popular cable decoders and VCRs are pre-programmed in ROM.Alternatively, the infrared commands of the original remote controllermay be learned by aiming the controllers at the IFR input receiver 264and storing the command codes in RAM memory 239 after processing by CPU228. This process is well known in the art of universal remotecontrollers and need not be detailed here.

As shown in FIG. 22A, the VCR 206 and cable decoder 202 may be manuallycontrolled by remote controller 212, or it may be automaticallycontrolled by infrared remote driver 214.

During recording, the tape index location of the VCR 206 will betransmitted over control/data bus 270 to the CPU 228. This start addressinformation is stored in tape directory RAM memory 234, together withthe program title. The bus 270 also carries VCR control commands forrecording, playback, tuner selection, and other functions, includingpower on/off.

Once a program is recorded, its title and other program information isstored in a section of the Record Memo RAM memory 236. To play back arecorded program, the What's on Tape request will cause a directory ofrecorded programs on the tape to be displayed. When a program isselected for playback from this directory, the tape will fast forward orreverse to the tape index location specified in the Tape Directory RAMmemory 234.

In the system 182, schedule/tape controller 220 is embedded in the VCR211. The VCR tape mechanism 252 contains all the record and playbackelectronics of the video recorder, less the programmable tuner 207. Datarecorded on the control track of a tape is coupled to the CPU 228 overinput bus 258 and output bus 256. The art of recording data on thecontrol track is well known, for example, in recent VCRs with indexingcapability. CPU 228 commands to the VCR 211 are carried over bus 254.When schedule information is to be displayed, video switcher controlinput 246 selects the display generator on line 218. At other times,video switcher 226 selects the output of the VCR mechanism 252 on line250.

Schedule information may be downloaded from the VBI. Alternatively orsupplementally, it may be downloaded from a telecommunication line 270to modem 268 and to CPU 228 via line 266. Other means of deliveringschedule information can be employed, including the use of a subcarrierchannel on the cable service.

It should now be readily apparent to those skilled in the art that asystem and method incorporating a novel user interface capable ofachieving the stated objects of the invention has been provided. Theuser interface that is configured to compensate for the particularnature of the television schedule information. The user interface has acursor operation that compensates for an irregular grid format of thetelevision schedule information. The user interface presents theschedule information in a format that compensates for limited resolutionof the television display. The user interface presents supplementalschedule information in overlays that obscure a minimum amount of usefulother information. Order of presentation of the schedule information inthe interface is customizable by user preference.

It should further be apparent to those skilled in the art that variouschanges in form and details of the invention as shown and described maybe made. It is intended that such changes be included within the spiritand scope of the claims appended hereto.

What is claimed is:
 1. An interactive television schedule system, whichcomprises:a television display, means coupled to said television displayfor displaying the television schedule on said television display as agrid of two-dimensionally arranged, adjacent irregular cells which varyin length corresponding to time duration of programs, with a title of aprogram being displayed in each of said irregular cells, said gridhaving a plurality of channels listed in a first dimension and timelisted in a second dimension, user input means coupled to said means fordisplaying the television schedule, said user input means including aprogram selector and a movement control for a visual identification ofones of said irregular cells which initiates movement of said visualidentification in the first dimension, and irregular movement of saidvisual identification in the second dimension in steps corresponding tovariation in cell size, responsive to movement input by a user to saidmovement control, between first and second ones of said irregular cellsto select a desired one of said irregular cells corresponding to adesired program, said means for displaying the television schedule beingconfigured to allow the user to change an order in which the pluralityof channels are listed in the first dimension from a first sequence ofthe channels to a second sequence of the channels which is in adifferent order than the first sequence.
 2. The interactive televisionschedule system of claim 1 in which said visual identification comprisesa cursor.